The present invention relates to maintaining privacy of data, and more specifically, to resolving defects in query language software e.g. Structured Query Language (SQL) software, while maintaining data privacy.
There has been a rapid increase in the amount of data collected and stored on databases. Much data, such as an individual's personal information, is very sensitive and must be kept confidential to avoid misuse of the data, which could result in crimes such as fraud and identity theft. Accordingly, it has become essential to develop effective techniques for protecting the privacy of sensitive data. Protecting the privacy of data can be difficult in certain situations. When a customer's database system has a defect, the customer can usually rely on a database system servicing entity to debug and correct the defect. In some situations, because of privacy concerns, it may not be desirable or permissible for the customer to give an outside entity servicing the problem access to the customer's data. This can make it more difficult for the servicing entity to resolve the problem.
For example, when a servicing entity is attempting to debug customer defects involving SQL, ideally, the customer might send the data used with the problematic SQL to the servicing entity to enable them to reproduce the problem on test systems for debugging the problem. In many situations, however, the servicing entity may not be allowed to have access to the data, or to the SQL, because of legal concerns about privacy of the customer's data. This makes it difficult to reproduce the problems on the test systems for debugging. For purpose of illustration we use the example of SQL as the query language since it is the most common query language. However, the following discussion is applicable to other query languages, e.g. XQuery.